
//2815.数组中的最大数对和
class Solution {
public:
    int maxSum(vector<int>& nums) {
        int n=nums.size();
        int m[10]={0};  //存储左边数中每个数位对应的最大数

        //获得最大数位
        auto getmax=[](int x)
        {
            int ret=0;
            while(x)
            {
                ret=max(ret,x%10);
                x/=10;
            }
            return ret;
        };

        int ret=-1;
        for(int i=0;i<n;i++)
        {
            int a=getmax(nums[i]);
            if(m[a]!=0) ret=max(ret,m[a]+nums[i]);

            if(m[a]==0||m[a]<nums[i]) m[a]=nums[i];
        }
        return ret;
    }
};